package edu.base.util;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

public class UUIDUtils {

    public static String getUUID16(){
        // 1.开头两位，标识业务代码或机器代码（可变参数）
        int machineId = 11;
        // 2.中间四位整数，标识日期
        SimpleDateFormat sdf = new SimpleDateFormat("MMdd");
        String dayTime = sdf.format(new Date());
        // 3.生成uuid的hashCode值
        int hashCode = UUID.randomUUID().toString().hashCode();
        // 4.可能为负数
        if(hashCode < 0){
            hashCode = -hashCode;
        }
        // 5.算法处理: 0-代表前面补充0; 10-代表长度为10; d-代表参数为正数型
       return machineId + dayTime + String.format("%010d", hashCode);
    }
	
	public static String getUUID32(){
		return UUID.randomUUID().toString().replace("-", "").toLowerCase();
	}
	
	public static void main(String[] args) {
		String uuid16 = getUUID16();
		System.out.println("UUID:"+uuid16);
	}
}